Scenario #1020: Add Representative to Partner

UseCase Add Representative To Partner => Representative: Tracy Trust for Test AG

Properties

Required

Given

name value
partnerPersonTradeName Test AG
representativeFamilyName Trust
representativeGivenName Tracy
representativePostalAddress         “name”: “Michelle Matthieu”,
        “street”: “An der Alster 100”,
        “zipcode”: “20000”,
        “city”: “Hamburg”,
        “country”: “Germany”
representativePhoneNumber +49 40 123456
representativeEMailAddress tracy.trust@example.org

Person: Test AG

HTTP GET "/api/hs/office/persons?name=Test+AG" \
  -H "Authorization: Bearer $HSADMINNG_JWT_BEARER" \
  `# {` \
  `#   "sub" : "uuid<hsh-alex_superuser>"` \
  `# }`
=> status: 200 OK 
[ {
  "uuid" : "1223603d-1a3b-4e0c-a244-027585d22eb2", // Person: Test AG
  "personType" : "LEGAL_PERSON",
  "tradeName" : "Test AG",
  "salutation" : null,
  "title" : null,
  "givenName" : null,
  "familyName" : null
} ]

In production, data this query could result in multiple outputs. In that case, you have to find out which is the right one.

Person: Tracy Trust

HTTP POST "/api/hs/office/persons" \
  -H "Authorization: Bearer $HSADMINNG_JWT_BEARER" \
  `# {` \
  `#   "sub" : "uuid<hsh-alex_superuser>"` \
  `# }` \
  -H 'Content-Type: application/json' \
  --data-binary @- <<EOF
{
  "personType" : "NATURAL_PERSON",
  "familyName" : "Trust",
  "givenName" : "Tracy"
}
EOF
=> status: 201 CREATED e86a3b16-ee8d-4931-9b73-7bedb549551a

Please check first if that person already exists, if so, use it’s UUID below.

HINT: A representative is always a natural person and represents a non-natural-person.

Contact: Tracy Trust

HTTP POST "/api/hs/office/contacts" \
  -H "Authorization: Bearer $HSADMINNG_JWT_BEARER" \
  `# {` \
  `#   "sub" : "uuid<hsh-alex_superuser>"` \
  `# }` \
  -H 'Content-Type: application/json' \
  --data-binary @- <<EOF
{
  "caption" : "Tracy Trust",
  "postalAddress" : {
    "name" : "Michelle Matthieu",
    "street" : "An der Alster 100",
    "zipcode" : "20000",
    "city" : "Hamburg",
    "country" : "Germany"
  },
  "phoneNumbers" : {
    "main" : "+49 40 123456"
  },
  "emailAddresses" : {
    "main" : "tracy.trust@example.org"
  }
}
EOF
=> status: 201 CREATED 258b33a1-0c13-4d43-a79f-12a2a3069114

Please check first if that contact already exists, if so, use it’s UUID below.

Create Representative: Tracy Trust for Test AG

HTTP POST "/api/hs/office/relations" \
  -H "Authorization: Bearer $HSADMINNG_JWT_BEARER" \
  `# {` \
  `#   "sub" : "uuid<hsh-alex_superuser>"` \
  `# }` \
  -H 'Content-Type: application/json' \
  --data-binary @- <<EOF
{
  "type" : "REPRESENTATIVE",
  "anchor.uuid" : "1223603d-1a3b-4e0c-a244-027585d22eb2", // Person: Test AG
  "holder.uuid" : "e86a3b16-ee8d-4931-9b73-7bedb549551a", // Person: Tracy Trust
  "contact.uuid" : "258b33a1-0c13-4d43-a79f-12a2a3069114" // Contact: Tracy Trust
}
EOF
=> status: 201 CREATED 8e09d553-3b70-431c-a7ae-bca26f1a71d0

Verify the REPRESENTATIVE Relation Got Removed

HTTP GET "/api/hs/office/relations?relationType=REPRESENTATIVE&personData=Trust" \
  -H "Authorization: Bearer $HSADMINNG_JWT_BEARER" \
  `# {` \
  `#   "sub" : "uuid<hsh-alex_superuser>"` \
  `# }`
=> status: 200 OK 
[ {
  "uuid" : "8e09d553-3b70-431c-a7ae-bca26f1a71d0",
  "anchor" : {
    "uuid" : "1223603d-1a3b-4e0c-a244-027585d22eb2", // Person: Test AG
    "personType" : "LEGAL_PERSON",
    "tradeName" : "Test AG",
    "salutation" : null,
    "title" : null,
    "givenName" : null,
    "familyName" : null
  },
  "holder" : {
    "uuid" : "e86a3b16-ee8d-4931-9b73-7bedb549551a", // Person: Tracy Trust
    "personType" : "NATURAL_PERSON",
    "tradeName" : null,
    "salutation" : null,
    "title" : null,
    "givenName" : "Tracy",
    "familyName" : "Trust"
  },
  "type" : "REPRESENTATIVE",
  "mark" : null,
  "contact" : {
    "uuid" : "258b33a1-0c13-4d43-a79f-12a2a3069114", // Contact: Tracy Trust
    "caption" : "Tracy Trust",
    "postalAddress" : {
      "zipcode" : "20000",
      "country" : "Germany",
      "city" : "Hamburg",
      "street" : "An der Alster 100",
      "name" : "Michelle Matthieu"
    },
    "emailAddresses" : {
      "main" : "tracy.trust@example.org"
    },
    "phoneNumbers" : {
      "main" : "+49 40 123456"
    }
  }
} ]

generated on 2026-07-17 01:42:24 for branch